In packet data communication, there are four main types of addressing, each with its own unique properties. The basic type is a unicast address that refers to a single sender or a single receiver, and can be used for both sending and receiving. Sending the same data to multiple unicast addresses requires the sender to send all the data many times over, once for each recipient.
When sending data to all possible destinations the sender needs to send the data only once, and all receivers can copy it. This type is referred to as broadcasting.
A multicast address is an identifier that is associated with a group of interested receivers. The sender sends a single datagram to the multicast address, and the routers take care of making copies and sending them to all receivers that have registered their interest in data from that sender.
Accordingly, multicasting of data packets represents a way to deliver information to a group of known destinations simultaneously. The delivery may be optimized by delivering the messages over each link of the network only once, and creating copies only when the links to the destinations split.
Many times one leg of the transmission chain is a critical resource that should not be wasted for multiple transmissions that comprise the same payload. Especially with mobile communication systems the last leg, i.e. the air interface, is a bottleneck and the methods for optimizing the use of this resource are intensively sought after. It is conceived that whenever same information needs to be delivered over packet data connections to several subscribers, required transmission capacity and time for delivering the information should be significantly reduced by use of multicasting.
However, use of multicast in air interface poses two requirements. In an SwMI node that acts as an endpoint for air interface leg the transmissions must correspond to a single data stream, even though the system should be able to accommodate more than one transmission destinations. On the other hand, it must be possible for each of the terminal endpoints to identify the data stream from the other data streams destined it, even if the data streams share a same logical link.